Typically, a computer program is created to perform a certain set of actions or functions, i.e., create a customer invoice, enter or update customer information, place a purchase order, generate reports, add or change information in a database, etc. Typical computer programs have process logic hard coded into them. Making changes to the process logic requires the information technology (IT) department to change the code to have the application function differently. Moreover, present computer programs typically require user interfaces to be created as part of the computer program. This requires repeated coding of these interfaces as each computer program is created.
FIG. 1 shows a diagrammatic representation of a typical computer program framework 10. The computer program framework 10 comprises a user interface module 12, a process logic 14, and a database 16. The user interface 12 enables a user to view and enter information. The process logic 14 manages the information flow to and from the user interface 12, performs the appropriate business logic and manages the information flow to and from the database 16. These program modules are normally written in a high level programming language which is compiled to run on a specific computer operating system. Changes to the computer program require the program code to be modified, re-compiled and then re-installed on the users' computer in order to take advantage of the newly implemented changes.
Computer programs are generally dedicated to a specific group of functions which deal with a defined database 16. Developers are creating new applications which combine multiple computer programs which access multiple databases and multiple functions.
FIG. 2 shows another diagrammatic representation of a typical computer program framework 20. The computer program framework 20 comprises two computer programs 10A,10B, a system event management module 22, and a middleware module 24. The user programs 10A,10B comprise user interface modules 12A,12B, process logic 14A,14B, and databases 16A,16B. Other computer programs may be added to the computer program framework 20. The middleware module 24 and the system event management module 22 enable the various process logic 14 to communicate and interface with one another. This approach requires detailed knowledge of the workings of each computer program and its application. It is also challenging to work with different operating systems.
In both of the computer program framework examples above, functions are the primary focus of the user programs. Access to multiple databases at present requires middleware to sit between the various process logic 14 and must be set up prior to an application being created.